Переписать часть кода на Pyhton для парсинга аудидорожек с видео (Бюджет: 3000 руб)
Дата публикации: 20.11.2024 23:47:53
Бюджет: 3000 руб
Здравствуйте необходимо переписать часть кода на Pyhton для парсинга аудидорожек с видео код: baseurl = os.getenv("BASEURL", BASEURL) debug = os.getenv("DEBUG", DEBUG) audio_chunk_segments = os.getenv("AUDIO_CHUNK_SEGMENTS", AUDIO_CHUNK_SEGMENTS) video_chunk_segments = os.getenv("VIDEO_CHUNK_SEGMENTS", VIDEO_CHUNK_SEGMENTS) safe_chunk_len = os.getenv("SAFE_CHUNK_LEN", SAFE_CHUNK_LEN) referer = os.getenv("REFERER", REFERER) # obtain XML with video segments description print("Get video description... ", end='') mpd_req = urllib.request.Request(f"{baseurl}/{video_id}/master.mpd") mpd_req.add_header('Referer', referer) mpd_raw = urllib.request.urlopen(mpd_req).read() # or can be read from file # with open("master.mpd", 'r') as f: # mpd_raw = f.read() # parse XML into internal object mpd = xmltodict.parse(mpd_raw) print("Done.\n") # To get any media segment, we need provide its URL and 'Range' header # this info present in XML description # mpd['MPD']['Period']['AdaptationSet'][0]["Representation"] array of video streams with different resolutions # mpd['MPD']['Period']['AdaptationSet'][1]["Representation"] the only audio stream # the first media segment described in ["SegmentList"]["Initialization"] field # all others array of URL/range pairs at ["SegmentList"]["SegmentURL"] # Download audio stream print("Get audio stream...") # First, we are prepare to download init segment for this stream audio_url = mpd['MPD']['Period']['AdaptationSet'][1]["Representation"]["SegmentList"][" Initialization"]["@sourceURL"] bytes_range = mpd['MPD']['Period']['AdaptationSet'][1]["Representation"]["SegmentList"][" Initialization"]["@range"] # create request object audio_req = urllib.request.Request(audio_url) # add actual Range header audio_req.add_header('Range', f"bytes={bytes_range}") # download init segment audio = urllib.request.urlopen(audio_req).read() # Download all other segments for this stream audio += get_segments( audio_req, mpd['MPD']['Period']['AdaptationSet'][1]["Representation"]["SegmentList"][" SegmentURL"], audio_chunk_segments ) # Save audio stream in temporary file with open(f"{video_id}.audio", "wb") as f: f.write(audio) print("Audio stream done.\n") # Download video stream print("Get video stream...") # get the best available resolution max_width = int(mpd['MPD']['Period']['AdaptationSet'][0]["@maxWidth"]) video = b'' for video_stream in mpd['MPD']['Period']['AdaptationSet'][0]["Representation"]: # skip low resolution video streams if int(video_stream["@width"]) < max_width: continue video_url = video_stream["SegmentList"]["Initialization"]["@sourceURL"] bytes_range = video_stream["SegmentList"]["Initialization"]["@range"] video_req = urllib.request.Request(video_url) video_req.add_header('Range', f"bytes={bytes_range}") video = urllib.request.urlopen(video_req).read() video += get_segments( video_req, video_stream["SegmentList"]["SegmentURL"], video_chunk_segments ) # we need only one video stream break # save video stream in temporary file with open(f"{video_id}.video", "wb") as f: f.write(video) print("Video stream done.\n") # Combine audio and video streams in one ready-to-play MP4 container convert_cmd = f"ffmpeg -y -i {video_id}.video -i {video_id}.audio -c copy -bsf:a aac_adtstoasc {video_name}.mp4" print("Converting video file... ", end='') sys.stdout.flush() run_res = subprocess.run(convert_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) if run_res.returncode: err_exit(f"Error video convert invocation: {run_res.stderr.decode()}") else: os.unlink(f"{video_id}.audio") os.unlink(f"{video_id}.video") print(f"Done: {video_name}.mp4") pass === скрипт нужно запускать на серваке под любые видео например для парсинга аудио с видео в кинескоп или вк видео С ув Роман
Здравствуйте! Ищу специалиста для реализации проекта: 1. На основе нашей идеи (текст и предоставленные картинки) найти подходящие видео-референсы. 2. Смонтировать черновую версию видео-сниппета (до 30 секунд) для продвижения песни. Требования: - Опыт работы с короткими видео-форматами для TikTok и Instagram Reels. - Понимание визуальных и музыкальных трендов в соцсетях. - Умение работать с референсами и создавать динамичный черновой монтаж. Проект ориентирован на со...
Итак, есть макет приложения, приложение делится на 3 типа 1) Читалка 2) Слушать 3) Словарь с возможностью рандомного показа слов (с возможностью угадывать или вспоминать перевод) 1) Читалка: Администратор вводит текст далее выбирает слово или словосочетание и добавляет перевод на несколько языков. Категории: Каждый текст делится на 2 категории: 1) Уровень сложности (A1 A2 B1 B2) 2) Тематика (Образование, Еда, Строительство....) Пользователь тыкая на слово(или словосочетание) в текс...
Необходимо по фото сделать 3-д модели зданий (только оболочка лицевые фасады). Готовая работа в виде рабочего файла, оформление и визуализации не требуются. Уровень сложности зданий разный. Количество 15 штук.